The providers of protected data, such as Digital Rights Management (DRM) content (e.g., movies, music, and games), have increasing demands for additional measures to ensure the security of their valuable content. Providers of such protected data often require computing devices that access the content (e.g., personal computers, mobile devices, and set-top display units) to employ encryption or scrambling protection tactics within their volatile memory, such as random access memory (RAM). This is known as RAM scrambling. Providers currently require the execution of RAM (or memory) scrambling algorithms in which the memory controller scrambles data prior to sending it to/storing it in internal memory. Obscuring protected data stored within RAM, rather than storing the content in the clear, protects the content from attacks that access internal memory contents.
Because RAM scrambling algorithms use simpler encryption techniques for performance reasons, RAM scrambling is typically less secure than the more complex encryption techniques used with non-volatile storage and transmission. More complex encryption techniques, such as AES encryption, may not be feasible for RAM scrambling in many computing devices accessing protected content, as these techniques require more time to encode/decode and are resource-intensive. RAM scrambling uses a simpler algorithmic structure and smaller keys to minimize the impact on memory performance. However, the lower complexity of scrambling techniques could permit attackers to conduct brute force attacks by repeatedly inserting known data into internal memory storing protected content to determine what addresses of the memory are associated with the inserted known data. By ascertaining scrambled results from such pattern matching attacks, nefarious applications may reverse engineer the key and algorithm of a RAM scrambling implementation and gain unfettered access to protected data, such as DRM content.